Load balancing is a technique used for distributing processing and communications activity across a communications network to achieve optimum system performance.
Typically, in a storage system, a host bus adapter has a plurality of local ports through which storage devices may be accessed. Each local port in the host bus adapter may be associated with a communications channel and have an associated protocol engine and a task queue. The tasks assigned to a particular local port are queued in the task queue associated with the local port. A task may be assigned to a local port based on a number of outstanding tasks that have already been assigned to the local port, that is, the task assignment may be based on the depth of the task queue associated with the local port.
After a task has been assigned to a particular local port, it cannot be moved to another local port for the entire task execution time period unless the task is aborted. However, the amount of work to be performed by a task can vary, for example, a small task may only involve transferring several bytes over the communications channel and a large task may involve transferring thousands of bytes. Thus, load balancing at the task level merely provides a coarse load balancing technique
A task based load balancing scheme does not work well for storage protocols that provide support for a plurality of communications channels to a single remote port, for example, a Serial attached Small Computer Systems Interface (SAS) wide port. Furthermore, task based load balancing does not work well for storage protocols that have shared common communications channel configurations such as a Port Multiplier that allows a HBA to communicate with more than one Serial Advanced Technology Attachment (SATA) device and the Fibre Channel-Arbitrated Loop (FC-AL).
Although the following Detailed Description will proceed with reference being made to illustrative embodiments of the claimed subject matter, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art. Accordingly, it is intended that the claimed subject matter be viewed broadly, and be defined only as set forth in the accompanying claims.